﻿#define Expection

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Xml;
using UmcProvider.Controls;
using UmcProvider;

namespace ChinaTelecom.SmartPhone.Controls
{
#if Expection       //if reserve mode
    public interface ITextBoxExpection : IUmc
    {
        string Name { get; }
        bool Enabled { get; }
        Size Size { get; }
        Point Location { get; }
        string Text { get; }
        Color BackColor { get; }
        Font Font { get; }
        Color ForeColor { get; }

        bool Multiline { get; }
        char PasswordChar { get; }
        System.Windows.Forms.ScrollBars ScrollBars { get; }
    }
    public interface ITextBox : ITextBoxExtension, ITextBoxExpection { }
    [Designer(typeof(UmcDesigner<ITextBox>))]
#else                  //if exclude mode
    //Add the Properties to be excluded here
    [ExcludeProperty]
    public interface ITextBoxExculde :  IUmc
    {
    }
     public interface ITextBox : ITextBoxExtension, ITextBoxExculde { }
    [Designer(typeof(UmcDesigner<TextBox>))]
#endif
    [ToolboxBitmap(typeof(System.Windows.Forms.TextBox), "TextBox.bmp")]
    public sealed class TextBox : System.Windows.Forms.TextBox, ITextBox
    {
    }

    //Add Extension Properties here , and Implement in Inheritance class
    public interface ITextBoxExtension
    { 
    }


    //public interface ITextBox : IControl
    //{
    //    bool Multiline { get; }
    //    char PasswordChar { get; }
    //    System.Windows.Forms.ScrollBars ScrollBars { get; }
    //}
    public sealed class UmcTextBox : DefaultConverter<UmcTextBox, TextBox>, ITextBox
    {

        #region ITextBox Members

        public bool Multiline
        {
            get { throw new NotImplementedException(); }
        }

        public char PasswordChar
        {
            get { throw new NotImplementedException(); }
        }

        public System.Windows.Forms.ScrollBars ScrollBars
        {
            get { throw new NotImplementedException(); }
        }

        #endregion

        #region IControl Members

        public bool Enabled
        {
            get { throw new NotImplementedException(); }
        }

        public Size Size
        {
            get { throw new NotImplementedException(); }
        }

        public Point Location
        {
            get { throw new NotImplementedException(); }
        }

        public string Text
        {
            get { throw new NotImplementedException(); }
        }

        public Color BackColor
        {
            get { throw new NotImplementedException(); }
        }

        public Font Font
        {
            get { throw new NotImplementedException(); }
        }

        public Color ForeColor
        {
            get { throw new NotImplementedException(); }
        }

        #endregion

        #region IUmc Members

        public string Name
        {
            get { throw new NotImplementedException(); }
        }

        #endregion
    }
}
